MySQL 연산자의 의미와 종류
MySQL은 데이터베이스에서 데이터를 검색하고 조작할 수 있도록 다양한 연산자를 제공합니다. 이 문서에서는 MySQL에서 사용 가능한 연산자의 의미와 종류 예시에 대해 설명합니다.
비교 연산자
MySQL에서는 데이터의 비교를 위해 다양한 비교 연산자를 제공합니다. 다음은 MySQL에서 사용 가능한 비교 연산자입니다.
= (equal to)
= 연산자는 왼쪽 값이 오른쪽 값과 같은 경우 true를 반환합니다.SELECT * FROM students WHERE age = 20;
<> 또는 != (not equal to)
<> 또는 != 연산자는 왼쪽 값이 오른쪽 값과 같지 않은 경우 true를 반환합니다.SELECT * FROM students WHERE age <> 20;
> (greater than)
> 연산자는 왼쪽 값이 오른쪽 값보다 큰 경우 true를 반환합니다.SELECT * FROM students WHERE age > 20;
< (less than)
< 연산자는 왼쪽 값이 오른쪽 값보다 작은 경우 true를 반환합니다.SELECT * FROM students WHERE age < 20;
>= (greater than or equal to)
>= 연산자는 왼쪽 값이 오른쪽 값보다 크거나 같은 경우 true를 반환합니다.SELECT * FROM students WHERE age >= 20;
<= (less than or equal to)
<= 연산자는 왼쪽 값이 오른쪽 값보다 작거나 같은 경우 true를 반환합니다.SELECT * FROM students WHERE age <= 20;
비교 연산자 - 2 패턴
LIKE (like)
LIKE 연산자는 왼쪽 값이 오른쪽 값과 일치하는 경우 true를 반환합니다. LIKE 연산자는 와일드카드 문자인 %와 _를 사용할 수 있습니다. %는 임의의 문자열을 나타내며, _는 임의의 문자 하나를 나타냅니다.SELECT * FROM students WHERE first_name LIKE 'J%';
위의 예제는
first_name 열의 값이 J로 시작하는 모든 학생들을 검색합니다.SELECT * FROM students WHERE last_name LIKE '%son%';
위의 예제는
last_name 열의 값에 "son"이 포함된 모든 학생들을 검색합니다.NOT LIKE (not like)
NOT LIKE 연산자는 왼쪽 값이 오른쪽 값과 일치하지 않는 경우 true를 반환합니다.SELECT * FROM students WHERE first_name NOT LIKE 'J%';
위의 예제는
first_name 열의 값이 J로 시작하지 않는 모든 학생들을 검색합니다.SELECT * FROM students WHERE last_name NOT LIKE '%son%';
위의 예제는
last_name 열의 값에 "son"이 포함되지 않은 모든 학생들을 검색합니다.REGEXP (regular expression)
REGEXP 연산자는 정규식을 사용하여 데이터를 검색합니다. 정규식은 검색할 패턴을 정의하는 문자열입니다.SELECT * FROM students WHERE first_name REGEXP '^J';
위의 예제는
first_name 열의 값이 J로 시작하는 모든 학생들을 검색합니다.SELECT * FROM students WHERE last_name REGEXP 'son';
위의 예제는
last_name 열의 값에 "son"이 포함된 모든 학생들을 검색합니다.논리 연산자
MySQL에서는 논리 연산을 위해 다양한 논리 연산자를 제공합니다. 다음은 MySQL에서 사용 가능한 논리 연산자입니다.
AND 또는 && (and)
AND 또는 && 연산자는 양쪽 값이 모두 true인 경우 true를 반환합니다.SELECT * FROM students WHERE age > 20 AND gender = 'male';
OR 또는 || (or)
OR 또는 || 연산자는 양쪽 값 중 하나 이상이 true인 경우 true를 반환합니다.SELECT * FROM students WHERE age > 20 OR gender = 'male';
NOT 또는 ! (not)
NOT 또는 ! 연산자는 오른쪽 값의 반대 값을 반환합니다.SELECT * FROM students WHERE NOT gender = 'male';
그 외 연산
BETWEEN 연산자를 사용하여 범위를 지정할 수 있습니다. BETWEEN 연산자는 다음과 같은 구문으로 사용할 수 있습니다.SELECT * FROM students WHERE age BETWEEN 20 AND 30;
위의 예제는
age 열의 값이 20 이상 30 이하인 학생들을 검색합니다.IN (in)
IN 연산자는 왼쪽 값이 오른쪽 값 집합 중 하나와 일치하는 경우 true를 반환합니다.SELECT * FROM students WHERE age IN (20, 21, 22);
위의 예제는
age 열의 값이 20, 21, 22 중 하나인 학생들을 검색합니다.산술 연산자
MySQL에서는 산술 연산을 위해 다양한 산술 연산자를 제공합니다. 다음은 MySQL에서 사용 가능한 산술 연산자입니다.
+ (addition)
+ 연산자는 왼쪽 값과 오른쪽 값의 합을 반환합니다.SELECT age + 1 FROM students;
- (subtraction)- 연산자는 왼쪽 값에서 오른쪽 값을 뺀 결과를 반환합니다.SELECT age - 1 FROM students;
* (multiplication)
* 연산자는 왼쪽 값과 오른쪽 값의 곱을 반환합니다.SELECT age * 2 FROM students;
/ (division)
/ 연산자는 왼쪽 값에서 오른쪽 값을 나눈 결과를 반환합니다.SELECT age / 2 FROM students;
% (modulus)
% 연산자는 왼쪽 값에서 오른쪽 값을 나눈 나머지를 반환합니다.SELECT age % 2 FROM students;
문자열 연산자
MySQL에서는 문자열 조작을 위해 다양한 문자열 연산자를 제공합니다. 다음은 MySQL에서 사용 가능한 문자열 연산자입니다.
CONCAT (concatenation)
CONCAT 연산자는 두 문자열을 연결한 결과를 반환합니다.SELECT CONCAT(first_name, ' ', last_name) AS full_name FROM students;
LENGTH (length)
LENGTH 연산자는 문자열의 길이를 반환합니다.SELECT LENGTH(first_name) FROM students;
위에서 설명한 연산자 이외에도 MySQL에서는 다양한 연산자를 제공합니다. 연산자를 적절하게 사용하여 데이터베이스를 효율적으로 검색하고 조작할 수 있습니다.